From 4e9bf06919bfb284ebb7152cc18c6d75634d69a5 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Sun, 9 Jul 2017 16:18:53 +0300 Subject: [PATCH] Use the same logic for benches --- src/cargo/util/toml/targets.rs | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/src/cargo/util/toml/targets.rs b/src/cargo/util/toml/targets.rs index 9c176f8e8..a3832062d 100644 --- a/src/cargo/util/toml/targets.rs +++ b/src/cargo/util/toml/targets.rs @@ -387,12 +387,13 @@ fn clean_tests(toml_tests: Option<&Vec>, fn clean_benches(toml_benches: Option<&Vec>, package_root: &Path) -> CargoResult> { + let inferred = inferred_benches(package_root); let benches = match toml_benches { Some(benches) => benches.clone(), - None => inferred_benches(package_root).into_iter().map(|(name, path)| { + None => inferred.iter().map(|&(ref name, ref path)| { TomlTarget { - name: Some(name), - path: Some(PathValue(path)), + name: Some(name.clone()), + path: Some(PathValue(path.clone())), ..TomlTarget::new() } }).collect() @@ -406,11 +407,9 @@ fn clean_benches(toml_benches: Option<&Vec>, let mut result = Vec::new(); for bench in benches.iter() { - let path = bench.path.clone().unwrap_or_else(|| { - PathValue(Path::new("benches").join(&format!("{}.rs", bench.name()))) - }); + let path = target_path(bench, &inferred, "bench", package_root)?; - let mut target = Target::bench_target(&bench.name(), package_root.join(&path.0), + let mut target = Target::bench_target(&bench.name(), path, bench.required_features.clone()); configure(bench, &mut target); result.push(target); -- 2.30.2